#这个简单爬虫，用来批量下载，某网页上的所有图片

#用来处理网络访问
from urllib.request import *;
import re;
#获取这个网页上的所有图片地址，下面的解析，也仅针对这个网站
url='http://588ku.com/beijing/0-30-pxnum-0-8-0-0-0-1/';
obj=urlopen(url);#打开
html=obj.read().decode();#读取和解码

#通过分析代码，得到图片的地址是在：data-original="xxxx.jpg!" 或 data-original="xxxx.jpg" 中
#就是说 开头固定是data-original="	结尾可能是!或"，我们就要取出中间的
urls=re.findall(r'data-original="(.*?)[!,"]',html);# .*?代表的是取出所有，这里的问号是指非贪婪模式
#最后一个不是图片（特例去掉）
urls.pop();

#过滤掉这个网站的一些小logo图片（只保留网址中含了bpic.588ku.com的）
urls=filter(lambda v:v.find('bpic.588ku.com')>-1,urls);

i=0;#主要用于给下载的每个图片，取不同的名字
for v in urls:
	print('downing...%d'%i);
	print(v);
	i=i+1;
	#下载过程中，很可能遇到网终错误，不捕获和处理的话，脚本会终止
	try:
		#下载到本地
		urlretrieve(v,'/Users/jiangjun/Downloads/pics/科技'+str(i)+'.jpg');
	except:
		print('downing error');	
	else:
		print('success');	